package com.bondex.charter.maindata.pojo.api;

import com.bondex.bondexapi.maindata.pojo.api.QueryBaseVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;
import java.util.List;

/**
 * 航次明细(BaseSeaVoyageDetail)实体类
 *
 * @author swl
 * @since 2021-04-06 16:32:23
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@Getter
@Setter
public class BaseSeaVoyageDetailVO extends QueryBaseVO {

	@JsonIgnore
	private Long id;

	/**
	 * 航次主键
	 */
	@JsonIgnore
	private Long voyageId;

	/**
	 * 航次
	 */
	private String voyage;

	/**
	 * 挂港顺序
	 */
	private String routing;

	/**
	 * 船公司信息
	 */
	private Object carrier;

	/**
	 * 挂港港口编码
	 */
	private String loadingPortCode;

	/**
	 * 挂港港口六字码
	 */
	private String loadPortSixCode;

	/**
	 * 挂港港口名称
	 */
	private String loadingPort;

	/**
	 * 码头代码
	 */
	private String wharfCode;

	/**
	 * 码头名称
	 */
	private String wharfNameCN;

	/**
	 * 截单时间 shipping information/shipping instruction。例：yyyy-MM-dd HH:mm:ss
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date siClosing;

	/**
	 * 截港时间 container yard。 例：yyyy-MM-dd HH:mm:ss
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date cyCutOff;

	/**
	 * 截关时间 例：yyyy-MM-dd HH:mm:ss
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date customsClosing;

	/**
	 * VGM日期 Verified Gross Mass 核实的集装箱总重 例：yyyy-MM-dd
	 */
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date vgmClosing;

	/**
	 * 危险品截单时间 danger goods。例：yyyy-MM-dd HH:mm:ss
	 */
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date dgsiClosing;

	/**
	 * 危险品 核实的集装箱总重日期 例：yyyy-MM-dd
	 */
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date dgvgmClosing;

	/**
	 * 预计到港时间 Estimated Time of Arrival
	 */
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date eta;

	/**
	 * 预计离港时间 Estimated Time of Departure
	 */
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date etd;

	/**
	 * 实际离港时间 Actual Time of Departure
	 */
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date atd;

	/**
	 * 截AMS/ENS
	 */
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date ams;

	/**
	 * 实际到港时间 Actual Time of Arrival
	 */
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date ata;

	/**
	 * 特殊货物 核实的集装箱总重日期 例：yyyy-MM-dd
	 */
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date scvgmClosing;

	/**
	 * 特殊货物截单时间 special cargo 例：yyyy-MM-dd HH:mm:ss
	 */
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date scsiClosing;

	/**
	 * T/T 航程时间
	 */
	private String transitTime;

	/**
	 * 报关航次
	 */
	private String declarationVoyage;

	/**
	 * 分公司代码
	 */
	//private String corpCode;

	/**
	 * 数据类型(二进制存储)
	 */
	//private Long dataType;

	/**
	 * 删除标志
	 */
	private String delFlg;

	/**
	 * 审核状态
	 */
	private List<Integer> dataTypeList;

}
